C语言数据结构与算法实现指南
📚 共计 30 章节
01
数据结构与算法概述
数据结构的概念 · 算法的概念 · 时间/空间复杂度 · 大O表示法
基础
理论
02
线性表之顺序表
顺序表的定义 · 初始化 · 插入与删除 · 查找与修改
线性表
顺序存储
03
线性表之单链表
单链表的定义 · 头插法与尾插法 · 遍历 · 插入与删除
链表
指针
04
双向链表与循环链表
双向链表结构 · 操作 · 循环链表 · 约瑟夫环问题
链表
循环
05
栈
定义与特性 · 顺序栈 · 链式栈 · 括号匹配/表达式求值
LIFO
应用
06
队列
定义与特性 · 循环队列 · 链式队列 · BFS应用
FIFO
BFS
07
串
定义与存储 · BF算法 · KMP原理 · KMP实现
字符串
匹配
08
树与二叉树基础
树的术语 · 二叉树性质 · 存储结构 · 前中后序遍历
树
递归
09
二叉树进阶与线索二叉树
线索二叉树概念 · 构造 · 遍历 · 哈夫曼树与编码
线索
哈夫曼
10
图的基础概念
图的术语 · 邻接矩阵/邻接表 · DFS · BFS
图
遍历
11
图的最小生成树
生成树概念 · Prim算法 · Kruskal算法 · 比较
MST
贪心
12
图的最短路径
Dijkstra · Floyd · 拓扑排序 · 关键路径
最短路径
拓扑
13
查找算法(一)
顺序查找 · 折半查找 · 插值查找 · 斐波那契查找
查找
有序
14
查找算法(二)
二叉排序树 · 平衡二叉树 · B树/B+树概念
BST
AVL
15
哈希表
哈希概念 · 函数设计 · 冲突处理 · 性能分析
哈希
散列
16
排序算法(一)
冒泡 · 选择 · 插入 · 希尔排序
排序
O(n²)
17
排序算法(二)
快速排序 · 归并排序 · 堆排序 · 计数排序
分治
O(nlogn)
18
排序算法(三)
基数排序 · 桶排序 · 外部排序 · 比较总结
线性排序
外部
19
递归算法
递归原理 · 调用过程 · 递归与非递归转换 · 汉诺塔/八皇后
递归
回溯
20
分治算法
分治思想 · 二分搜索 · 大整数乘法 · 棋盘覆盖
分治
递归
21
动态规划
DP思想 · 0-1背包/完全背包 · 最长公共子序列 · 编辑距离
DP
背包
22
贪心算法
贪心思想 · 活动选择 · 哈夫曼编码 · 最小生成树(贪心视角)
贪心
最优
23
回溯算法
回溯思想 · 八皇后 · 图着色 · TSP问题
回溯
搜索
24
字符串匹配算法进阶
Rabin-Karp · Boyer-Moore · Sunday · AC自动机
多模式
自动机
25
高级数据结构(一)
并查集 · 树状数组 · 线段树基础
并查集
BIT
26
高级数据结构(二)
红黑树概念/性质 · 插入删除 · 伸展树
红黑树
Splay
27
高级数据结构(三)
跳表 · Trie树 · 后缀树与后缀数组
跳表
Trie
28
算法设计与分析进阶
摊还分析 · NP完全 · 近似算法 · 随机化算法
复杂度
NP
29
C语言实现技巧与优化
内存管理 · 指针高级用法 · 函数指针 · 宏与内联
C语言
优化
30
综合实战
学生成绩管理系统 · 表达式计算器 · 文件压缩(哈夫曼)
项目
综合